Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Використання системного програмування в реальному режимі роботи центрального процесора для визначення конфігурації ПК IBM PC.

Інформація про навчальний заклад

ВУЗ:
Донецький національний технічний університет
Інститут:
О
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Архітектура комп’ютерів та комп’ютерних систем

Частина тексту файла

Розробили: проф. Сидоренко В.В., викл. Дóренський О.П., 2006-2011 Лабораторна робота № 1 ТЕМА: Використання системного програмування в реальному режимі роботи центрального процесора для визначення конфігурації ПК IBM PC. МЕТА: Ознайомитись з основами системного програмування, навчитись програмним шляхом одержувати інформацію про системні характеристики ПК типу IBM PC. Короткі теоретичні відомості Системна інформація про комп’ютер зберігається у зарезервованих комірках пам’яті, які завантажуються в молодші 640 Кб адресного простору ОЗП та використовуються системними та прикладними програмами під час роботи ПК. Розглянемо спрощену схему розподілу пам’яті у реальному режимі (таблиця 1.1). Таблиця 1.1 – Розподіл пам’яті у реальному режимі Адреса Значення  FFFFFF ПЗП BIOS  F0000 Зарезервовано  C0000 Текстовий відеобуфер  B8000 Графічний відеобуфер  A0000 Область для завантаження транзитних програм (додатків користувача)   Резидентна частина командного процессора   Ядро системи MS DOS   Драйвера пристроїв  00400 Область даних BIOS і DOS  00000 Таблиця векторів переривань   У молодших адресах пам’яті розміщується ядро ОС, перші 1024 байта якої займає таблиця векторів переривань. Кожен елемент цієї таблиці – 32-розрядна адреса підпрограми-обробника переривання (згадайте цю тему з “Мікропроцесорних ВІС”), яка задана у форматі [сегмент] : [зміщення] і називається вектором переривань. Ці адреси використовуються CPU виклику підпрограми обробки апаратних та програмних переривань. Після таблиці векторів переривань розміщено велику ділянку оперативної пам’яті, яка використовується як область даних BIOS та операційної системи (ОС). Наступні 640 Кбайт ОЗП – область пам’яті, у якій знаходяться драйвери пристроїв ОС. Вони забезпечують керування введенням/виведенням для більшості стандартних пристроїв (наприклад, для клавіатури, дискових накопичувачів, відео адаптера, послідовного та паралельного інтерфейсів). Як відомо, існує багато моделей ПК IBM PC: Оригінальний IBM PC, ХТ, АТ, PCjr, Compag XT, Sperry PC і ін. Є три способи визначення моделі та отримання деякої інформації про конфігурацію комп’ютера: прочитати дану інформацію з комірок ПЗП BIOS; викликати одну з функцій переривання 15h, яка повертає адресу таблиці конфігурації; за допомогою системної утиліти debug (дебагер). Спосіб 1. У постійній пам’яті BIOS за адресою F000:FFFE міститься байт, значення якого є ідентифікацією типу комп’ютера (див. таблицю 1.2). За адресою F000:FFF5 міститься дата виготовлення BIOS, яка записана у коді ASCII в американському форматі (MM/DD/YY – місяць/день/рік) та займає 8 байт. Таблиця 1.2 – Значення байту ідентифікації типу ПК Код Тип комп’ютера  FF Оригінальний IBM PC  FE XT, Portable PC  FD PCjr  FC AT  FB XT з пам’яттю 640К на материнській платі  FA PS/2 модель 25 або 30  F9 Convertible PC  F8 PS/2 моделі 55SX,70,80  9A Compag XT, Compag Plus  30 Sperry PC  2D Compag PC, Compag Deskpro   Для читання вмісту даної комірки області пам’яті BIOS можна використати стандартну функцію TC peekb(): unsigned char Val = peekb(Seg, Offset) , де параметр Seg – значення сегменту, Offset – зміщення. Приклад використання способу 1 наведено в лістингу 1.1. Лістинг 1.1 – Програма одержання коду типу ПК ІВМ РС. #include <stdio.h> #include <conio.h> int main (void) { unsigned char KOD; KOD = peekb(0xF000,0xFFFE); printf("Код типу комп’ютера: %xh\n", KOD); return 0; } Спосіб 2. Більш детальну інформацію можна отримати, викликавши функцію C0h переривання BIOS INT 15h. Для генерації цього переривання необхідно: на вході: АН=C0h {виклик переривання} на виході: ES:BX = адреса таблиці конфігурації CF = 0, якщо виклик переривання пройшов успішно CF = 1, якщо дана версія BIOS не підтримує виконання функції C0h. Після виконання переривання регістри ES:BX будуть вказувати на таблицю в області ПЗП BIOS, значення якої наведено у таблиці 1.3. Таблиця 1.3 – Таблиця ПЗП BIOS ідентифікації комп...
Антиботан аватар за замовчуванням

14.05.2018 21:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини